package com.bt.lms.entity;

import java.time.LocalDate;

/**
 * 教师基本信息
 * @author 李舒淇
 */
public class TeacherBasicInfo {

    /**
     * ID
     */
    private Long ID;

    /**
     * 账号
     *
     * @reqRule 必填，文本，小
     */
    private String account;

    /**
     * 姓名
     *
     * @reqRule 必填，文本，小
     */
    private String name;

    /**
     * 证件类型
     * 1.身份证  2.护照
     * @reqRule 必填，单 ，限选项（身份证，护照）
     */
    private Integer certificateType;

    /**
     * 证件号码
     *
     * @reqRule 必填，文本，小
     */
    private String certificateNumber;

    /**
     * 性别
     * 1.男   2.女
     *
     * @reqRule 必填，文本，小
     */
    private Integer gender;

    /**
     * 出生日期
     *
     * @reqRule 必填，时间(yyyy-MM-dd)
     */
    private LocalDate birthdate;

    /**
     * 籍贯
     *
     * @reqRule 必填，单 限选项()
     */
    private String birthplace;

    /**
     * 民族
     * 56个民族
     * @reqRule 必填，单 限选项(1.汉族,2.壮族,3.满族,4.回族,5.苗族,6.维吾尔族,7.土家族,8.彝族,9.蒙古族,
     *                       10.藏族,11.布依族,12.侗族,13.瑶族,14.朝鲜族,15.白族,16.哈尼族,17.黎族,
     *                       18.傣族,19.畲族,20.傈僳族21.东乡族,22.仡佬族,23.拉祜族,24.水族,25.佤族,
     *                       26.纳西族,27.羌族,28.土族,29.仫佬族,30.锡伯族,31.柯尔克孜族,32.达斡尔族,
     *                       33.景颇族,34.毛南族,35.撒拉族,36.布朗族,37.塔吉克族,38.阿昌族,39.普米族,
     *                       40.鄂温克族,41.怒族,42.京族,43.基诺族,44.德昂族,45.保安族,46.俄罗斯族,
     *                       47.裕固族,48.乌孜别克族,49.门巴族,50.鄂伦春族,51.独龙族,52.塔塔尔族,
     *                       53.赫哲族,54.珞巴族,55.仡什蒂族,56.崩龙族)
     * 默认值：1.汉族
     */
    private String nation;

    /**
     * 政治面貌
     * 1.群众    2.党员    3.团员
     *
     * @reqRule 必填，单 限选项(群众，党员，团员)  默认值：群众
     */
    private Integer politicsStatus;

    /**
     * 所属学习中心
     * 1.北京大学  2.北京师范大学
     *
     * @reqRule 必填，单 限选项(北京大学，北京师范大学)  默认值：北京师范大学
     */
    private Integer learningCenter;

    /**
     * 专业
     *
     * @reqRule 必填，文本，小
     */
    private String specialty;

    /**
     * 职称
     *
     * @reqRule 必填，文本，小
     */
    private String jobTitle;

    /**
     * 最高学历
     * 1.博士   2.硕士   3.本科    4.荣誉博士
     * @reqRule 必填，单 限选项(博士，硕士，本科，荣誉博士) 默认值：本科
     */
    private Integer highestDegree;

    /**
     * 教龄
     *
     * @reqRule 必填，文本，小
     */
    private Integer teachingAge;

    /**
     * 联系电话
     *
     * @reqRule 必填，文本，小
     */
    private String phone;

    /**
     * 备注
     *
     * @reqRule 非必填，文本，中
     */
    private String researchInterests;

    /**
     * 照片
     *
     * @reqRule 必填，文件(jpg,jpeg,gif,png)
     */
    private String picture;

    /**
     * 在职状态
     * 1.在职，2离职
     * @reqRule 必填， 单  限选项(在职，离职)
     */
    private Integer onJobStatus;

    /**
     * 启用状态
     * 1.启用，2停用
     * 离职不能启用
     * @reqRule 必填， 单 限选项（启用，停用）
     */
    private Integer enableStatus;



    //----------关系-------
    /**
     * 教学安排
     * @reqRule 非必填  类型  规则：
     */
    private TeachingArrangeInfo teachingArrangeInfo;


    //---------外键--------
    /**
     * 教学安排外键Id
     * @return
     */
    private Long teachingArrangeID;

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getCertificateType() {
        return certificateType;
    }

    public void setCertificateType(Integer certificateType) {
        this.certificateType = certificateType;
    }

    public String getCertificateNumber() {
        return certificateNumber;
    }

    public void setCertificateNumber(String certificateNumber) {
        this.certificateNumber = certificateNumber;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public LocalDate getBirthdate() {
        return birthdate;
    }

    public void setBirthdate(LocalDate birthdate) {
        this.birthdate = birthdate;
    }

    public String getBirthplace() {
        return birthplace;
    }

    public void setBirthplace(String birthplace) {
        this.birthplace = birthplace;
    }

    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    public Integer getPoliticsStatus() {
        return politicsStatus;
    }

    public void setPoliticsStatus(Integer politicsStatus) {
        this.politicsStatus = politicsStatus;
    }

    public Integer getLearningCenter() {
        return learningCenter;
    }

    public void setLearningCenter(Integer learningCenter) {
        this.learningCenter = learningCenter;
    }

    public String getSpecialty() {
        return specialty;
    }

    public void setSpecialty(String specialty) {
        this.specialty = specialty;
    }

    public String getJobTitle() {
        return jobTitle;
    }

    public void setJobTitle(String jobTitle) {
        this.jobTitle = jobTitle;
    }

    public Integer getHighestDegree() {
        return highestDegree;
    }

    public void setHighestDegree(Integer highestDegree) {
        this.highestDegree = highestDegree;
    }

    public Integer getTeachingAge() {
        return teachingAge;
    }

    public void setTeachingAge(Integer teachingAge) {
        this.teachingAge = teachingAge;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getResearchInterests() {
        return researchInterests;
    }

    public void setResearchInterests(String researchInterests) {
        this.researchInterests = researchInterests;
    }

    public String getPicture() {
        return picture;
    }

    public void setPicture(String picture) {
        this.picture = picture;
    }

    public TeachingArrangeInfo getTeachingArrangeInfo() {
        return teachingArrangeInfo;
    }

    public void setTeachingArrangeInfo(TeachingArrangeInfo teachingArrangeInfo) {
        this.teachingArrangeInfo = teachingArrangeInfo;
    }

    public Long getID() {
        return ID;
    }

    public void setID(Long ID) {
        this.ID = ID;
    }

    public Integer getOnJobStatus() {
        return onJobStatus;
    }

    public void setOnJobStatus(Integer onJobStatus) {
        this.onJobStatus = onJobStatus;
    }

    public Integer getEnableStatus() {
        return enableStatus;
    }

    public void setEnableStatus(Integer enableStatus) {
        this.enableStatus = enableStatus;
    }

    public Long getTeachingArrangeID() {
        return teachingArrangeID;
    }

    public void setTeachingArrangeID(Long teachingArrangeID) {
        this.teachingArrangeID = teachingArrangeID;
    }
}
